package com.zhoux.collections.set;

/**
 * @author taoyi
 * @version 1.0
 * @date 2021/3/13 11:43
 */
public class UpdateSub implements Comparable<Object>{
    String name;
    long id;

    public UpdateSub(String name, long id) {
        this.name = name;
        this.id = id;
    }


    /**
     * Comparable可以认为是一个内比较器，实现了Comparable接口的类有一个特点，
     * 就是这些类是可以和自己比较的，至于具体和另一个实现了Comparable接口的类如何比较，
     * 则依赖compareTo方法的实现，compareTo方法也被称为自然比较方法。
     * 如果开发者add进入一个Collection的对象想要Collections的sort方法帮你自动进行排序的话，
     * 那么这个对象必须实现Comparable接口。compareTo方法的返回值是int，有三种情况：
     * 1、比较者大于被比较者（也就是compareTo方法里面的对象），那么返回正整数
     * 2、比较者等于被比较者，那么返回0
     * 3、比较者小于被比较者，那么返回负整数
     * @param o
     * @return
     */
    @Override
    public int compareTo(Object o) {
        UpdateSub update = (UpdateSub) o;
//        int result = id < update.id ? 1 : (id==update.id ? 0 :-1);
        int result = id > update.id ? 1 : (id==update.id ? 0 :-1); // 决定升序还是降序
        return result;
    }

    public String getName() {
        return name;
    }

    public long getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setId(long id) {
        this.id = id;
    }
}

